home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ For TASM / USRGUIDE.PAK / FINDCHAR.ASM < prev    next >
Assembly Source File  |  1996-02-21  |  1KB  |  30 lines

  1. ; Turbo Assembler example. Copyright (c) 1993 By Borland International, Inc.
  2.  
  3. ; FINDCHAR.ASM  - Searching for the last character of 
  4. ;                 a null terminated string
  5.  
  6. ; From the Turbo Assembler User's Guide, Ch. 18
  7.  
  8.         .MODEL  small
  9.         .CODE
  10.         PUBLIC _FindLastChar
  11. _FindLastChar   PROC
  12.         ARG     StringToScan:WORD
  13.         push    bp
  14.         mov     bp,sp
  15.         cld             ;we need string instructions to count up
  16.         mov     ax,ds
  17.         mov     es,ax   ;set ES to point to the near data segment
  18.         mov     di, [StringToScan]   ;point ES:DI to start of 
  19.                                      ;passed string
  20.         mov     al,0    ;search for the null that ends the string
  21.         mov     cx,0ffffh  ;search up to 64K-1 bytes
  22.         repnz   scasb      ;look for the null
  23.         dec     di         ;point back to the null
  24.         dec     di         ;point back to the last character
  25.         mov     ax,di      ;return the near pointer in AX
  26.         pop     bp
  27.         ret
  28. _FindLastChar   ENDP
  29.         END
  30.